package com.itheima.myreflect2.Student.mythreadpool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * @program: Myset
 * @description:
 * @author: xuejingjing
 * @create: 2021-06-19 23:38
 **/

//static ExecutorService newCachedThreadPool()  创建一个默认的线程池
//static newFixedThreadPool (int nThreads) 创建一个指定最多线程数量的线程池

public class MyThreadPoolDemo {
    public static void main(String[] args) {

        //1,创建一个默认的线程池对象，池子中默认是空的，默认最多可以容纳int类型的最大值
        ExecutorService executorService = Executors.newCachedThreadPool();

        //把这个任务将给线程池对象
         executorService.submit(()->{
             System.out.println(Thread.currentThread().getName()+"执行了");
         });

         //第一个任务还没来得及还给池子，第二个任务就已经提交过来了，这个时候池子只能创建第二个线程了
         //有空闲的池子，就不会重新创建
         //这个也是这样
        executorService.submit(()->{
            System.out.println(Thread.currentThread().getName()+"执行了");
        });

        executorService.shutdown();

    }
}
